Remove pointless logging for unhandled events. Activate the application on
authorRichard Hult <richard@imendio.com>
Sun, 17 Jun 2007 14:29:21 +0000 (14:29 +0000)
committerRichard Hult <rhult@src.gnome.org>
Sun, 17 Jun 2007 14:29:21 +0000 (14:29 +0000)
2007-06-16  Richard Hult  <richard@imendio.com>

* gdk/quartz/gdkevents-quartz.c: (find_window_for_ns_event),
(gdk_event_translate): Remove pointless logging for unhandled events.
Activate the application on non-left clicks, since that is only done
for left clicks and we depend on it to get events routed properly for
context menus and other popup windows.

svn path=/trunk/; revision=18175

ChangeLog
gdk/quartz/gdkevents-quartz.c

index 4b37f50689e4cbd3c152a73e78005837bfb8206b..e6ba2c07961494cd0ff99c9ab170163b5519b236 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-06-16  Richard Hult  <richard@imendio.com>
+
+       * gdk/quartz/gdkevents-quartz.c: (find_window_for_ns_event),
+       (gdk_event_translate): Remove pointless logging for unhandled events.
+       Activate the application on non-left clicks, since that is only done
+       for left clicks and we depend on it to get events routed properly for
+       context menus and other popup windows.
+
 2006-09-22  Dennis Cranston  <dennis_cranston@yahoo.com>
 
        * gtk/gtkfilechooserbutton.c: (change_icon_theme),
index c69a822617ff468d5a594a59bfb2bd3efff57a22..3077910af89b8bbe2f392cc38cbab3d64e8c7cc5 100644 (file)
@@ -1266,13 +1266,9 @@ find_window_for_ns_event (NSEvent *nsevent,
       }
       break;
 
-    case NSAppKitDefined:
-    case NSSystemDefined:
-      /* We ignore these events */
-      break;
-
     default:
-      NSLog(@"Unhandled event %@", nsevent);
+      /* Ignore everything else. */
+      break;
     }
 
   return NULL;
@@ -1538,6 +1534,17 @@ gdk_event_translate (NSEvent *nsevent)
   if (result == GDK_FILTER_REMOVE)
     return TRUE;
 
+  /* We need the appliction to be activated on clicks so that popups
+   * like context menus get events routed properly. This is handled
+   * automatically for left mouse button presses but not other
+   * buttons, so we do it here.
+   */
+  if ([nsevent type] == NSRightMouseDown || [nsevent type] == NSOtherMouseDown)
+    {
+      if (![NSApp isActive])
+        [NSApp activateIgnoringOtherApps:YES];
+    }
+
   current_mask = get_event_mask_from_ns_event (nsevent);
 
   switch ([nsevent type])
@@ -1628,8 +1635,9 @@ gdk_event_translate (NSEvent *nsevent)
            dx--;
          }
 
-       break;
       }
+      break;
+
     case NSKeyDown:
     case NSKeyUp:
     case NSFlagsChanged:
@@ -1645,8 +1653,10 @@ gdk_event_translate (NSEvent *nsevent)
         return TRUE;
       }
       break;
+
     default:
-      NSLog(@"Untranslated: %@", nsevent);
+      /* Ignore everything elsee. */
+      break;
     }
 
   return FALSE;